### Exerccio 6 ####

####Crie seus dados#####
#Crie dois conjuntos de dados: 
#A. Dez observaes de uma amostra de uma distribuio normal com mdia 6 e desvio padro 3 

ca=rnorm(10,mean=6,sd=3)
ca
class(ca)

#B. Idem para uma distribuio normal com mdia 7.5 e desvio padro 3.2 
cb=rnorm(10,mean=7.5, sd=3.2)
cb
class(cb)

plot(ca,cb, col=c("red","black"), pch=c(17,5), cex=1.5, ylab="freq", xlab="")
boxplot(ca,cb,ylab="freq", col="gray")
#DICA: utilize a funo rnorm() 

#####fazendo igual ao tutorial######

obj.dados=c(ca,cb) 
obj.dados
fator=factor(rep(c("a","b"),each=10))
boxplot(obj.dados~fator)

#diferena entre mdias das coletas de ca e cb
(mean(rnorm(10,mean=mean(ca),sd=sd(ca)))-(mean(rnorm(10,mean=mean(cb),sd=sd(cb)))))

resulta=rep(NA,10)
for (i in 1:1000)
	{
	resulta[i]= (mean(rnorm(10,mean=mean(ca),sd=sd(ca)))-(mean(rnorm(10,mean=mean(cb),sd=sd(cb)))))}

obs=mean(ca)-mean(cb)
obs 

p= sum(resulta>=obs)/length(resulta)
p# 0.494 - no posso afirmar que so diferentes, fico com a hip nula


## fazendo com o simula.r

#1.Utilize a funo simula.r e teste a hiptese que as mdias das amostras so diferentes. No esquea de usar a funo source() para carregar a funo!

source("http://ecologia.ib.usp.br/bie5782/lib/exe/fetch.php?media=bie5782:01_curso2009:simula.r")
simula# function(dados1,dados2, nsim=1000, teste="bi")

sim1=simula(ca,cb, nsim=1000, teste="bi")
summary(sim1)

p2=((sum(sim1>=obs))/length(sim1))
p2 #0.21 - fico com hiptese nula, minha chance de errar ao afirmar que ca  diferente de cb  muito alta (21%)

#2.Teste agora que a mdia da segunda amostra  maior que a primeira. Compare os valores obtidos. Ateno: nunca faa isso na vida real! Sua hiptese deve estar definida a priori, antes de iniciar o teste! 

simula2=simula(cb,ca,nsim=1000, teste="uni")
simula2

n.maior=sum((simula2)>=(obs))
n.maior
n.menor=sum((simula2)<=(obs*-1))
n.menor

p.uni=(n.menor+n.maior)/length(simula2)
p.uni # 0.229 - tambm no aceito h0

#3.Utilize agora a funo t.test() para testar as mesmas hipteses. Os resultados so iguais?

t.test(ca,cb)# p=0.2117 
#sim, continuo com a h0 !

#4.Voc fez uma Anlise Exploratria dos Dados antes de fazer o teste? DEVERIA! Acostume-se a criar intimidade com os dados antes de fazer qualquer teste. Como diria o professor Rodrigo Pereira: Leve os dados para passear, tomem um cafezinho, tornem-se ntimos!
#fiz o boxplot !

#5.Sempre faa um diagnstico das premissas do teste! Quais so as premissas do teste na funo simula? E na funo t.test()? Faa o diagnstico grfico dessas premissas! 
# as duas tem as premissas de igualdade de varincias e distribuio normal !

# normalidade

qqnorm(ca)
qqline(ca)
qqnorm(cb)
qqline(cb)

#variancia
bartlett.test(list(ca,cb))#p=0.2294 - so iguais

####Caixeta de NOVO?!######

#Utilizando os dados da planilha caixeta.csv: 

caix=file.choose()
caixeta=read.table(caix,header=TRUE, sep=",",as.is=TRUE)
head(caixeta)

# 1.Calcule o valor da rea basal para cada indivduo (somatria dos fustes). 

raio=(caixeta$cap)/(2*pi)
caixeta$bas=base::pi*(raio^2)


# 2.Calcule o valor da rea basal por amostra em cada uma da localidades (somatria da rea basal dos individuos por amostra) 
help(aggregate)


##aggregate###

basal.par=aggregate(caixeta$bas,list(caixeta$local,caixeta$parcela),sum)
# tem que colocar o local tb, caso contrrio eu junto as parcelas dos locais diferentes !
# seria melhor fazer uma tabela com ns diferentes nas parcelas 
basal.par

###tapply###

basal.par2=tapply(caixeta$bas,list(caixeta$local,caixeta$parcela),sum)
basal.par2
# para ordenar do menor para o maior
help(sort)#sort(x, decreasing = FALSE, ...)
sort(basal.par[,3],decreasing = FALSE )# todas as linhas, coluna 3

#comparando
head(caixeta)
basal.par
class(basal.par)#data.frame
basal.par2
class(basal.par2)#matriz-prefiro esse formato para visualizar as parcelas !


# 3.Produza grficos para mostrar os dados e os diferentes desvios relacionados s amostras e as localidades, sendo as localidades o seu fator de interesse (variao total, intra grupos e entre grupos)

par(mfrow=c(1,3))
basal.par2
boxplot(basal.par2[1,],ylmfrow=c(2,3),ylim=c(6000,1e+06), xlab="chauas")
boxplot(basal.par2[2,], xlab="jureia")
boxplot(basal.par2[3,],xlab="retiro")

#tentando usar matpot
cores=c("black","black","black","black","black","red","red","red","red","red","blue","blue","blue","blue","blue")
matplot(basal.par2, las=TRUE, col=cores)# nao deu mt certo =/


4.Calcule os valores de uma tabela Anova para esses dados 
#sendo a varivel dependente a rea basal/parcela e o tratamento 
#as localidades. Cada observao refere-se a uma amostra ou parcela.

#Desvios Quadrticos 

#separando dados dos locais 
basal.par
chauas=basal.par[c(1,4,7,10,13),3]
chauas
retiro=basal.par[c(3,6,9,12,15),3]
retiro
jureia=basal.par[c(2,5,8,11,14),3]
jureia

data=data.frame(chauas,retiro,jureia)
data

#medias de cada local/ de cada grupo
media.cha= mean(chauas)
media.ju=mean(jureia)
media.re=mean(retiro)

#ou

medias.loc=mean(data)
medias.loc

#media geral/ media dos grupos

media.geral=mean(medias.loc)
media.geral


# SS TOTAL
ss=medias.loc-media.geral
ss
sum(ss)
round(sum(ss),5)
SS.loc=ss^2
SS.loc
SS.total=sum(SS.loc)
SS.total

# SS INTRAGRUPOS
#pontos de cada grupo - media dentro do grupo
SS.chauas=sum((chauas-media.cha)^2)
SS.chauas
SS.retiro=sum((retiro-media.re)^2)
SS.retiro
SS.jureia=sum((jureia-media.ju)^2)
SS.jureia
SS.intra=SS.chauas+SS.retiro+SS.jureia
SS.intra

# SS ENTREGRUPOS
#media do grupo- media geral, multiplicado pelo tamanho do grupo e elevado ao quadrado
# todos tem 5 valores

grupos= (5*(medias.loc-media.geral)^2)
SS.entre=sum(grupos)
SS.entre

#  Estatistica F 
MS.entre=SS.entre/2
MS.intra=SS.intra/12
MS.entre
MS.intra
F=MS.entre/MS.intra
F
pf(F, 2, 12, lower.tail=FALSE) #0.07974

# AOV

help(aov)#aov(formula, data = NULL, projections = FALSE, qr = TRUE, contrasts = NULL, ...)
head(basal.par)

locais=factor(basal.par$Group.1)
class(locais)
locais
a.basais=basal.par$x
a.basais

novop= aov(a.basais~locais)
novop
summary(novop) # P=0.07975 ! =D foi igual !!!!


6.Qual  a porcentagem de variao explicada pela localidade nesse caso?

#  proporcional ao p =0.079 - explica quase 80% 



